/**,
*:before,
*:after {
  box-sizing: border-box;
}*/
.step {
  position: relative;
  min-height: 32px /* circle-size */ ;
}
.step > div:first-child {
  position: static; height: 0;
}
.step > div:last-child {
  margin-left: 32px ; padding-left: 16px;
}
.circle {
  background: #4285f4;
  width: 32px; height: 32px;
  line-height: 32px;
  border-radius: 16px;
  position: relative;
  color: white;
  text-align: center;
}
.line {
  position: absolute;
  border-left: 1px solid gainsboro;
  left: 20px;
  bottom: 10px;
  top: 50px;
}
.step:last-child .line {
  display: none;
}
.title {
  line-height: 32px;
  font-weight: bold;
  font-size: 16px;
}